import { ValidationErrorsIBAN } from 'ibantools';

export { getFriendlyErrors };

const ibanErrorToMessage = {
  [ValidationErrorsIBAN.NoIBANProvided]: '未提供 IBAN',
  [ValidationErrorsIBAN.NoIBANCountry]: '无国家 IBAN',
  [ValidationErrorsIBAN.WrongBBANLength]: '错误的 BBAN 长度',
  [ValidationErrorsIBAN.WrongBBANFormat]: '错误的 BBAN 格式',
  [ValidationErrorsIBAN.ChecksumNotNumber]: '校验和不是数字格式',
  [ValidationErrorsIBAN.WrongIBANChecksum]: '错误的 IBAN 校验和',
  [ValidationErrorsIBAN.WrongAccountBankBranchChecksum]: '错误的 IBAN 校验和',
  [ValidationErrorsIBAN.QRIBANNotAllowed]: '二维码 IBAN 非法',
};

function getFriendlyErrors(errorCodes: ValidationErrorsIBAN[]) {
  return errorCodes.map(errorCode => ibanErrorToMessage[errorCode]).filter(Boolean);
}
